<!--
  フレーム内に表示する簡易ガジェット用HTML
-->
<html><head>
  <meta http-equiv="content-type" 
        content="text/html; charset=utf-8" />
  <script type="text/javascript">
// ここでは、メッセージのレシーバとなるURLは初期ロード時に
// フラグメント識別子で渡されるものとする
// なお、location.hashを使わないのは、フラグメント識別子の値が
// ブラウザによって自動的にURIデコードされる場合があるため
var receiverUrl = 
  decodeURIComponent(location.href.split('#')[1]);

// ガジェット内で作成した文章をコンテナ側に伝える
// 現在の高さの情報を入れ子のフレームに表示するレシーバHTML経由で
// コンテナ（親フレーム）に伝える
function sendMessage() {
  var message = document.getElementById('message').value;

  var receiverFrame = document.createElement('iframe');
  receiverFrame.style.width = '0px';
  receiverFrame.style.height = '0px';
  receiverFrame.style.visibility = 'hidden';
  document.body.appendChild(receiverFrame);
  
  // フレームの window.name 属性にメッセージの文字列をセットする。
  receiverFrame.contentWindow.name = message
  
  // フレームの読み込み後、要らなくなったフレームはDOMから削除する
  var cleanup = function() {
    setTimeout(function(){ 
      receiverFrame.parentNode.removeChild(receiverFrame);
    }, 1);
  }
  receiverFrame.onload = cleanup;
  receiverFrame.onreadystatechange = function() { // for IE
    if (receiverFrame.readyState == 'loaded' ||
        receiverFrame.readyState == 'complete') {
      cleanup();
      receiverFrame.onreadystatechange = null;
    }
  }
  
  // フレームのURLをレシーバのURLに書き換え
  receiverFrame.src = receiverUrl;  
}

  </script>
</head>
<body style="background-color:#ccccff">
  <p>
    Gadget in 
    <script type="text/javascript">
    document.write('<b>' + location.hostname + '</b>')
    </script>
  </p>
  <textarea id="message" rows="5" ></textarea><br/>
  <input type="button" value="Post" onclick="sendMessage()" />
</body></html>

